109A - Lucky Sum of Digits - CodeForces Solution


brute force implementation *1000

Please click on ads to support us..

Python Code:

n = int(input())

for i in range(n // 7 + 1):
    for j in range((n - 7 * (n // 7 - i)) // 4 + 1):
        if (n // 7 - i) * 7 + j * 4 == n:
            print("4" * j + "7" * (n // 7 - i))
            quit()
        elif (n // 7 - i) * 7 + j * 4 > n:
            break
print(-1)

C++ Code:

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
        int n;
    cin>>n;
    string ans = "";
    while(n >= 7 && n%4 != 0){
        n-=7;
        ans+='7';
    }
    if(n%4 != 0){
        cout<<-1<<'\n';
        exit(0);
    }
    while(n >= 28){
        n-=28;
        ans+="7777";
    }
    while(n != 0){
        n-=4;
        ans+='4';
    }
    sort(ans.begin(), ans.end());
    cout<<ans<<'\n';
}


Comments

Submit
0 Comments
More Questions

1038B - Non-Coprime Partition
43A - Football
50A - Domino piling
479A - Expression
1480A - Yet Another String Game
1216C - White Sheet
1648A - Weird Sum
427A - Police Recruits
535A - Tavas and Nafas
581A - Vasya the Hipster
1537B - Bad Boy
1406B - Maximum Product
507B - Amr and Pins
379A - New Year Candles
1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort